package com.eastcom.providor.dao;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

public interface IDao {

//	==================== Hibernate ====================//
	public void createObject(Object obj);
	public void updateObject(Object obj);
	public void updateObjects(String hql, Object[] values) throws Exception;
	public void saveObject(Object obj);
	public void saveObjects(Collection entities);	
	public void deleteObjectByID(Serializable id) ;
	public void deleteObject(Object bean);
	public void deleteObjects(String hql, Object[] values) throws Exception;	
	public void deleteObjects(Collection entities);
	public List getObjects() ;
	public <T>List<T> getObjects(Class<T> clazz) ;	
	public List getObjects(String hql) ;
	public List getObjects(String hql, Object[] args) ;
	public List getObjects(String hql, int firstResult, int maxResults);	
	public List getObjects(String hql, Object[] args, int firstResult, int maxResults);		
	public List getObjectsByNamedQuery(String queryName) ;
	public List getObjectsByNamedQuery(String queryName, Object[] values) ;
	public List getObjectsByNamedParam(String queryString, String[] paramNames, Object[] values) ;
	public List getObjectsByNamedQueryAndNamedParam(String queryName, String[] paramNames, Object[] values) ;		
	public int getObjectCount() ;
	public int getObjectCount(String hql) ;
	public int getObjectCount(String hql, Object[] args) ;
	public Object getObject(Serializable id) ;	
	public Object getObjectByID(Serializable id) ;
	public <T>T getObject(Class<T> clazz, Serializable id) ;	
	public Object loadObject(Class clazz, Serializable id) ;	
	public Object mergeObject(Object entity) ;	
	public void persistObject(Object entity) ;
	public void refreshObject(Object entity) ;
	public void evictObject(Object entity) ;
	public void flush() ;	
	public void clear() ;
	
}
